package com.lzy.pattern.singleton.demo5;

/**
 * @ClassName: Client
 * @Description: 单例设计模式测试：懒汉模式，线程安全，静态内部类实现
 * 静态内部类单例模式中实例由内部类创建，由于 JVM 在加载外部类的过程中,
 * 是不会加载静态内部类的, 只有内部类的属性/方法被调用时才会被加载,
 * 并初始化其静态属性。静态属性由于被static 修饰，保证只被实例化一次，并且严格保证实例化顺序
 * @Author: LiuZy
 * @Date: 2022/4/9 19:32
 * @Version: 1.0
 */
public class Client {

    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    Singleton instance = Singleton.getInstance();
                    System.out.println(instance.hashCode());
                }
            }).start();
        }
    }
}